41 research outputs found

    Semantic Management of Location-Based Services in Wireless Environments

    Get PDF
    En los últimos años el interés por la computación móvil ha crecido debido al incesante uso de dispositivos móviles (por ejemplo, smartphones y tablets) y su ubicuidad. El bajo coste de dichos dispositivos unido al gran número de sensores y mecanismos de comunicación que equipan, hace posible el desarrollo de sistemas de información útiles para sus usuarios. Utilizando un cierto tipo especial de sensores, los mecanismos de posicionamiento, es posible desarrollar Servicios Basados en la Localización (Location-Based Services o LBS en inglés) que ofrecen un valor añadido al considerar la localización de los usuarios de dispositivos móviles para ofrecerles información personalizada. Por ejemplo, se han presentado numerosos LBS entre los que se encuentran servicios para encontrar taxis, detectar amigos en las cercanías, ayudar a la extinción de incendios, obtener fotos e información de los alrededores, etc. Sin embargo, los LBS actuales están diseñados para escenarios y objetivos específicos y, por lo tanto, están basados en esquemas predefinidos para el modelado de los elementos involucrados en estos escenarios. Además, el conocimiento del contexto que manejan es implícito; razón por la cual solamente funcionan para un objetivo específico. Por ejemplo, en la actualidad un usuario que llega a una ciudad tiene que conocer (y comprender) qué LBS podrían darle información acerca de medios de transporte específicos en dicha ciudad y estos servicios no son generalmente reutilizables en otras ciudades. Se han propuesto en la literatura algunas soluciones ad hoc para ofrecer LBS a usuarios pero no existe una solución general y flexible que pueda ser aplicada a muchos escenarios diferentes. Desarrollar tal sistema general simplemente uniendo LBS existentes no es sencillo ya que es un desafío diseñar un framework común que permita manejar conocimiento obtenido de datos enviados por objetos heterogéneos (incluyendo datos textuales, multimedia, sensoriales, etc.) y considerar situaciones en las que el sistema tiene que adaptarse a contextos donde el conocimiento cambia dinámicamente y en los que los dispositivos pueden usar diferentes tecnologías de comunicación (red fija, inalámbrica, etc.). Nuestra propuesta en la presente tesis es el sistema SHERLOCK (System for Heterogeneous mobilE Requests by Leveraging Ontological and Contextual Knowledge) que presenta una arquitectura general y flexible para ofrecer a los usuarios LBS que puedan serles interesantes. SHERLOCK se basa en tecnologías semánticas y de agentes: 1) utiliza ontologías para modelar la información de usuarios, dispositivos, servicios, y el entorno, y un razonador para manejar estas ontologías e inferir conocimiento que no ha sido explicitado; 2) utiliza una arquitectura basada en agentes (tanto estáticos como móviles) que permite a los distintos dispositivos SHERLOCK intercambiar conocimiento y así mantener sus ontologías locales actualizadas, y procesar peticiones de información de sus usuarios encontrando lo que necesitan, allá donde esté. El uso de estas dos tecnologías permite a SHERLOCK ser flexible en términos de los servicios que ofrece al usuario (que son aprendidos mediante la interacción entre los dispositivos), y de los mecanismos para encontrar la información que el usuario quiere (que se adaptan a la infraestructura de comunicación subyacente)

    Semantic Keyword-based Search on Heterogeneous Information Systems

    Get PDF
    En los últimos años, con la difusión y el uso de Internet, el volumen de información disponible para los usuarios ha crecido exponencialmente. Además, la posibilidad de acceder a dicha información se ha visto impulsada por los niveles de conectividad de los que disfrutamos actualmente gracias al uso de los móviles de nueva generación y las redes inalámbricas (e.g., 3G, Wi-Fi). Sin embargo, con los métodos de acceso actuales, este exceso de información es tan perjudicial como la falta de la misma, ya que el usuario no tiene tiempo de procesarla en su totalidad. Por otro lado, esta información está detrás de sistemas de información de naturaleza muy heterogénea (e.g., buscadores Web, fuentes de Linked Data, etc.), y el usuario tiene que conocerlos para poder explotar al máximo sus capacidades. Esta diversidad se hace más patente si consideramos cualquier servicio de información como potencial fuente de información para el usuario (e.g., servicios basados en la localización, bases de datos exportadas mediante Servicios Web, etc.). Dado este nivel de heterogeneidad, la integración de estos sistemas se debe hacer externamente, ocultando su complejidad al usuario y dotándole de mecanismos para que pueda expresar sus consultas de forma sencilla. En este sentido, el uso de interfaces basados en palabras clave (keywords) se ha popularizado gracias a su sencillez y a su adopción por parte de los buscadores Web más usados. Sin embargo, esa sencillez que es su mayor virtud también es su mayor defecto, ya que genera problemas de ambigüedad en las consultas. Las consultas expresadas como conjuntos de palabras clave son inherentemente ambiguas al ser una proyección de la verdadera pregunta que el usuario quiere hacer. En la presente tesis, abordamos el problema de integrar sistemas de información heterogéneos bajo una búsqueda guiada por la semántica de las palabras clave; y presentamos QueryGen, un prototipo de nuestra solución. En esta búsqueda semántica abogamos por establecer la consulta que el usuario tenía en mente cuando escribió sus palabras clave, en un lenguaje de consulta formal para evitar posibles ambigüedades. La integración de los sistemas subyacentes se realiza a través de la definición de sus lenguajes de consulta y de sus modelos de ejecución. En particular, nuestro sistema: - Descubre el significado de las palabras clave consultando un conjunto dinámico de ontologías, y desambigua dichas palabras teniendo en cuenta su contexto (el resto de palabras clave), ya que cada una de las palabras tiene influencia sobre el significado del resto de la entrada. Durante este proceso, los significados que son suficientemente similares son fusionados y el sistema propone aquellos más probables dada la entrada del usuario. La información semántica obtenida en el proceso es integrada y utilizada en fases posteriores para obtener la correcta interpretación del conjunto de palabras clave. - Un mismo conjunto de palabras pueden representar diversas consultas aún cuando se conoce su significado individual. Por ello, una vez establecidos los significados de cada palabra y para obtener la consulta exacta del usuario, nuestro sistema encuentra todas las preguntas posibles utilizando las palabras clave. Esta traducción de palabras clave a preguntas se realiza empleando lenguajes de consulta formales para evitar las posibles ambigüedades y expresar la consulta de manera precisa. Nuestro sistema evita la generación de preguntas semánticamente incorrectas o duplicadas con la ayuda de un razonador basado en Lógicas Descriptivas (Description Logics). En este proceso, nuestro sistema es capaz de reaccionar ante entradas insuficientes (e.g., palabras omitidas) mediante la adición de términos virtuales, que representan internamente palabras que el usuario tenía en mente pero omitió cuando escribió su consulta. - Por último, tras la validación por parte del usuario de su consulta, nuestro sistema accede a los sistemas de información registrados que pueden responderla y recupera la respuesta de acuerdo a la semántica de la consulta. Para ello, nuestro sistema implementa una arquitectura modular permite añadir nuevos sistemas al vuelo siempre que se proporcione su especificación (lenguajes de consulta soportados, modelos y formatos de datos, etc.). Por otro lado, el trabajar con sistemas de información heterogéneos, en particular sistemas relacionados con la Computación Móvil, ha permitido que las contribuciones de esta tesis no se limiten al campo de la búsqueda semántica. A este respecto, se ha estudiado el ámbito de la semántica de las consultas basadas en la localización, y especialmente, la influencia de la semántica de las localizaciones en el procesado e interpretación de las mismas. En particular, se proponen dos modelos ontológicos para modelar y capturar la relaciones semánticas de las localizaciones y ampliar la expresividad de las consultas basadas en la localización. Durante el desarrollo de esta tesis, situada entre el ámbito de la Web Semántica y el de la Computación Móvil, se ha abierto una nueva línea de investigación acerca del modelado de conocimiento volátil, y se ha estudiado la posibilidad de utilizar razonadores basados en Lógicas Descriptivas en dispositivos basados en Android. Por último, nuestro trabajo en el ámbito de las búsquedas semánticas a partir de palabras clave ha sido extendido al ámbito de los agentes conversacionales, haciéndoles capaces de explotar distintas fuentes de datos semánticos actualmente disponibles bajo los principios del Linked Data

    Ontology Localization

    Get PDF
    Nuestra meta principal en esta tesis es proponer una solución para construir una ontología multilingüe, a través de la localización automática de una ontología. La noción de localización viene del área de Desarrollo de Software que hace referencia a la adaptación de un producto de software a un ambiente no nativo. En la Ingeniería Ontológica, la localización de ontologías podría ser considerada como un subtipo de la localización de software en el cual el producto es un modelo compartido de un dominio particular, por ejemplo, una ontología, a ser usada por una cierta aplicación. En concreto, nuestro trabajo introduce una nueva propuesta para el problema de multilingüismo, describiendo los métodos, técnicas y herramientas para la localización de recursos ontológicos y cómo el multilingüismo puede ser representado en las ontologías. No es la meta de este trabajo apoyar una única propuesta para la localización de ontologías, sino más bien mostrar la variedad de métodos y técnicas que pueden ser readaptadas de otras áreas de conocimiento para reducir el costo y esfuerzo que significa enriquecer una ontología con información multilingüe. Estamos convencidos de que no hay un único método para la localización de ontologías. Sin embargo, nos concentramos en soluciones automáticas para la localización de estos recursos. La propuesta presentada en esta tesis provee una cobertura global de la actividad de localización para los profesionales ontológicos. En particular, este trabajo ofrece una explicación formal de nuestro proceso general de localización, definiendo las entradas, salidas, y los principales pasos identificados. Además, en la propuesta consideramos algunas dimensiones para localizar una ontología. Estas dimensiones nos permiten establecer una clasificación de técnicas de traducción basadas en métodos tomados de la disciplina de traducción por máquina. Para facilitar el análisis de estas técnicas de traducción, introducimos una estructura de evaluación que cubre sus aspectos principales. Finalmente, ofrecemos una vista intuitiva de todo el ciclo de vida de la localización de ontologías y esbozamos nuestro acercamiento para la definición de una arquitectura de sistema que soporte esta actividad. El modelo propuesto comprende los componentes del sistema, las propiedades visibles de esos componentes, las relaciones entre ellos, y provee además, una base desde la cual sistemas de localización de ontologías pueden ser desarrollados. Las principales contribuciones de este trabajo se resumen como sigue: - Una caracterización y definición de los problemas de localización de ontologías, basado en problemas encontrados en áreas relacionadas. La caracterización propuesta tiene en cuenta tres problemas diferentes de la localización: traducción, gestión de la información, y representación de la información multilingüe. - Una metodología prescriptiva para soportar la actividad de localización de ontologías, basada en las metodologías de localización usadas en Ingeniería del Software e Ingeniería del Conocimiento, tan general como es posible, tal que ésta pueda cubrir un amplio rango de escenarios. - Una clasificación de las técnicas de localización de ontologías, que puede servir para comparar (analíticamente) diferentes sistemas de localización de ontologías, así como también para diseñar nuevos sistemas, tomando ventaja de las soluciones del estado del arte. - Un método integrado para construir sistemas de localización de ontologías en un entorno distribuido y colaborativo, que tenga en cuenta los métodos y técnicas más apropiadas, dependiendo de: i) el dominio de la ontología a ser localizada, y ii) la cantidad de información lingüística requerida para la ontología final. - Un componente modular para soportar el almacenamiento de la información multilingüe asociada a cada término de la ontología. Nuestra propuesta sigue la tendencia actual en la integración de la información multilingüe en las ontologías que sugiere que el conocimiento de la ontología y la información lingüística (multilingüe) estén separados y sean independientes. - Un modelo basado en flujos de trabajo colaborativos para la representación del proceso normalmente seguido en diferentes organizaciones, para coordinar la actividad de localización en diferentes lenguajes naturales. - Una infraestructura integrada implementada dentro del NeOn Toolkit por medio de un conjunto de plug-ins y extensiones que soporten el proceso colaborativo de localización de ontologías

    Publindex: análisis de la calidad de publicaciones de investigación

    Get PDF
    El proyecto Publindex comprende el análisis, diseño, gestión e implementación de una aplicación web de consulta cuyo uso está dirigido a todo el personal perteneciente al ámbito de la investigación científica. La calidad de una conferencia o revista de investigación indica cuál es el nivel de exigencia que se aplica a los artículos enviados para ser publicados en estas revistas y eventos. Cuanto mayor es la calidad de una publicación más referencias se hacen a ella, menor número de artículos publica y más prestigio tiene estos trabajos. Existen índices en la Web que dan valoraciones a los eventos siguiendo un criterio propio. Por ejemplo, JCR es una fuente de calidad de revistas que asigna un factor de impacto numérico a cada uno; CORE es un índice de conferencias y revistas que asigna valoraciones basadas en letras (A, B, C…)… La motivación de este proyecto surge como consecuencia de la manera en la que el personal investigador recopilaba la información de la calidad a través de estos índices. Consultar múltiples sitios web resultaba tedioso y a veces requería emplear cierto tiempo. De esta necesidad surge la idea de Publindex, cuya finalidad es la de desarrollar una aplicación, que permita consultar de una manera sencilla, rápida y centralizada la calidad de las publicaciones, almacenando para ello la información de ciertos índices de calidad. La aplicación fue construida de manera progresiva. En un primer momento, se desarrolló un sistema que permitía consultar el índice JCR. Posteriormente, se incorporó CORE, requiriéndose un nuevo análisis, diseño e implementación debido a que en un primer momento se había desarrollado un sistema muy específico para un índice concreto. Finalmente, se añadió SJR sin suponer problemas, ya que el sistema ya se había adaptado para poder almacenar y manejar la información de varias fuentes de calidad. La consulta de la calidad puede realizarse a través de tres tipos de analizadores diferenciados y dependientes entre sí que constituyen las tres principales funcionalidades de la aplicación. El primero en desarrollarse fue el analizador de publicaciones, que busca las valoraciones de calidad de una publicación concreta dado su nombre, siglas o ISSN. Posteriormente se desarrolló el analizador de listados de publicaciones a través de un conjunto de referencias bibliográficas y el analizador de la calidad de un autor a través las citas de su trabajo. Además de las funcionalidades presentadas, la aplicación destaca por incorporar métodos de consulta online de información y por la usabilidad que hizo que el sistema fuera utilizado desde sus primeras versiones por el personal investigador del grupo de Sistemas Informáticos Distribuidos (SID

    Creación de un videojuego de carreras en 3D

    Get PDF
    En la actualidad, el desarrollo de videojuegos ha crecido enormemente gracias a los nuevos motores gráficos y su modelo de negocio donde el desarrollo independiente no necesita realizar un gran desembolso para adquirir una licencia que permita usar el motor gráfico. En este trabajo de fin de grado se explora la idea de crear un videojuego de carreras futurista denominado “Syncopia” partiendo de cero y utilizando como plataforma de desarrollo principal uno de los motores gráficos más populares entre los desarrolladores independientes como es Unity. Unity proporciona una base muy sólida para trabajar con entornos en 3D permitiendo un desarrollo orientado a múltiples plataformas, pero sin automatizar la creación y desarrollo del conjunto de sistemas que componen un videojuego. Para lograr esto, se han abordado diversos problemas relacionados con el mundo de los videojuegos en el campo técnico. En concreto, se ha priorizado el desarrollo de los siguientes aspectos: • Diseño e implementación de una inteligencia artificial adaptativa capaz de reaccionar y adaptarse a los cambios que se producen en el entorno. • Aplicación de técnicas avanzadas de procesamiento de imágenes (antialiasing, oclusión ambiental, etc.). • Diseño e implementación de la infraestructura de red necesaria para añadir un modo multijugador en red. Además, como el desarrollo de un videojuego no solo depende de los aspectos técnicos, sino que el aspecto artístico tiene un peso muy importante, se han tenido en cuenta otros factores como la creación y búsqueda de modelos 3D, texturas, música o el diseño e implementación de las interfaces

    RobotWars: Desarrollo de un videojuego para el aprendizaje de programación

    Get PDF
    RobotWars es un videojuego de batalla entre tanques donde el usuario podrá programar el comportamiento de cada tanque mediante un lenguaje de programación sencillo, con el objetivo final de que los más jóvenes aprendan a programar. El jugador no interactúa directamente con los tanques durante el juego, que se controlan de forma automática según su programación que constituye la inteligencia artificial del mismo. Existirá la posibilidad de enfrentar en batalla tanques desarrollados en diferentes equipos y poner a prueba la IA de los tanques programados.<br /

    Kubex, desarrollo de un motor gráfico 3D basado en cubos

    Get PDF
    Un nuevo género de videojuegos basados en cubos e inspirados en el famoso título Minecraft (Mojang AB, 2009) está irrumpiendo en el mercado, creciendo rápidamente en popularidad. No obstante, no existen aún motores gráficos open-source populares especializados en este género. Además, los motores gráficos tradicionales no son capaces de explotar suficientemente las características que un mundo dividido en cubos ofrece, y no permiten desarrollar este tipo de videojuegos con facilidad. Por esta razón, los títulos de este género están forzados a implementar su propio motor gráfico cuyo desarrollo es, dado el amplio coste en tiempo y recursos que la creación de un motor gráfico complejo conlleva, relevado a un segundo plano en la mayor parte de los casos. Esto causa un estándar de calidad gráfica en este género realmente bajo, muy por debajo del estándar de industria actual. En este proyecto se implementa, usando tan solo Java y OpenGL, desde cero y en código abierto, un motor gráfico orientado a cubos con la calidad gráfica y la eficiencia como máximas prioridades. Sobre el mismo se ha desarrollado, asimismo, un videojuego basado en la exploración y creación de estructuras, con todas las características que un título de este género posee. Es nuestra intención que, dada la naturaleza de código abierto de este título, cualquier programador interesado en este género pueda basarse en este proyecto para resolver sus dudas, obtener partes de código para implementar funcionalidades que necesite o, incluso, extender fácilmente este proyecto a un prototipo de mayor jugabilidad, centrándose únicamente en el desarrollo del mismo y despreocupándose del motor básico, ya implementado

    Videojuego de lucha uno contra uno en red y con inteligencia artificial adaptativa

    Get PDF
    Los videojuegos comenzaron poco después de que surgiese el concepto de Informática, intentando siempre cubrir esa necesidad de entretenimiento innata en las personas de formas que el mundo real no podía. Desde el nacimiento de los videojuegos, estos han ido evolucionando con la Informática de la mano, llegando a convertirse en un entretenimiento que está en el día a día de las personas, y siendo actualmente el sector del entretenimiento que más dinero genera (facturando en España desde 2008 más que el cine, el DVD y la música juntos). Los juegos en red están a la orden del día, y entre ellos cada vez cogen más fuerza los videojuegos enfocados al mundo competitivo (e-sports), punto a partir del cual surge este proyecto.Este proyecto trata acerca de la creación de un juego de lucha en dos dimensiones, tomando como punto de partida las prácticas de la asignatura Videojuegos, convirtiendo un clon simplificado del juego arcade original Fatal Fury 2 (SNK 1992) en un videojuego que contiene características en red e incorpora una inteligencia artificial adaptativa. Para cumplir este objetivo, ha sido necesaria una arquitectura que permitiese a los jugadores enfrentarse entre sí desde cualquier ordenador con acceso a internet sin la necesidad de conocimiento alguno de Informática, y que les proporcionase diversos características que se consideran imprescindibles actualmente, como serían la socialización entre jugadores mediante `amistades' y comunicaciones a través del propio juego. Para proporcionar a los jugadores un reto mayor contra el que poder entrenar, se ha añadido posibilidad de jugar contra dos inteligencias artificiales adaptativas. En el caso de la primera, la inteligencia artificial va aprendiendo del estilo de juego del usuario y sus puntos débiles a medida que juegue partidas, proporcionándole así al jugador un medio para intentar mejorar sus flaquezas. Mientras que la segunda se centra en aprender de todos los jugadores y así suponer un reto a todos ellos, dándoles otra opción de entrenamiento más general.<br /

    Sistema de Información para el Museo de Informática Histórica (MIH) de la Universidad de Zaragoza.

    Get PDF
    En este trabajo se ha desarrollado un sistema completamente funcional que se utilizará para catalogar todos aquellos objetos que sean donados al Museo de Informática Histórica (MIH) de la Universidad de Zaragoza, así como para catalogar progresivamente todos aquellos objetos que ya pertenecen al museo. Este sistema consta de una base de datos MySQL en la que almacenar toda la información y una aplicación web desarrollada en Java y JavaScript que permite consultar el catálogo del museo de forma abierta para cualquier usuario o realizar acciones de administración en ella, esta última accesible solo para el usuario administrador con identificación previa. El desarrollo de este trabajo puede dividirse en cuatro etapas: 1) Análisis previo al desarrollo del sistema de los gestores del mercado y decisión de cual es mejor opción para resolver este problema. 2) Diseño del modelo de datos. 3) Desarrollo de la aplicación web. 4) Incorporación de pequeñas mejoras a la aplicación, solución de errores y catalogación de varias donaciones reales del museo.<br /

    JAGE (Just Another Game Engine), creación de un motor de videojuegos 2D multiplataforma de código abierto

    Get PDF
    Hoy en día los videojuegos están más presentes en la vida diaria de lo que nunca han estado. Son mucho más accesibles para la gente con pocos medios, Asimismo, la extensión de la Informática ha propiciado el hecho de que mucha gente haya podido adoptar la programación como hobby. Esto ha desencadenado un estallido en el mundo de los videojuegos, de gente que programa sus propios videojuegos con bajo (o ningún) presupuesto para luego publicarlos en Internet: conocidos como juegos indie, están ahora en su mejor momento. Todo esto ha llevado a cabo una retroalimentación por la que cada vez los videojuegos están más aceptados, y más gente quiere hacer su propio juego. Muchas personas no quiere un videojuego comercial, solo explotar su lado artístico en un mundo que disfrutan, y por ello cada vez han surgido más herramientas que permiten hacer juegos con un esfuerzo reducido: los motores. En este proyecto se implementa, usando Java, desde cero y en código abierto, un motor de videojuegos 2D con la flexibilidad como máxima prioridad. Para demostrar dicha flexibilidad, se han creado tres juegos completamente distintos con él, que han permitido explorar todas las posibilidades que da el motor, así como servir de retroalimentación para el motor y saber qué era necesario cambiar en éste para cumplir los objetivos propuestos. El proyecto pretende ser una ayuda a todas las personas que quieren probar el desarrollo de videojuegos, tanto para aquellas que no saben ni quieren saber nada de programación, como para las que quieren desarrollar un motor propio, puesto que el proyecto se ha desarrollado bajo una licencia de código abierto
    corecore